package com.project.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.project.entity.CmsProduct;
import com.project.pojo.dto.ProductDTO;
import com.project.pojo.dto.ProductExportDTO;
import com.project.pojo.model.ProductModel;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface CmsProductMapper extends BaseMapper<CmsProduct> {

    /**
     * 分页查询商品
     * @param productModel
     * @return
     */
    IPage<ProductDTO> selectProduct(Page<ProductDTO> page, @Param("productModel") ProductModel productModel);

    /**
     * 查询商品返回List
     * @param productModel
     * @return
     */
    List<ProductDTO> selectProductList(@Param("productModel")ProductModel productModel);

    /**
     * 根据商品ID获取商品信息
     * @param productModel
     * @return
     */
    ProductDTO selectProductById(@Param("productModel")ProductModel productModel);

    /**
     * 获取目前最大排序值
     * @return
     */
    int getMaxSort();

    /**
     * 商品导出查询
     * @param productModel
     * @return
     */
    List<ProductExportDTO> selectExportProductData(@Param("productModel")ProductModel productModel);

}